﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;

namespace mas_apredizaje.BD
{
    class Metodos
    {
        //private string cadena = "Password = 123456789 ; Persist Security Info = True; User ID =sa ; Initial Catalog =masaprendizaje; Data Source=.";
        private string cadena = "Data Source= KEI; Initial Catalog =masApredizaje ; Integrated Security=True";
        public SqlConnection conn;
        public void conectar() { conn = new SqlConnection(cadena); }
        public Metodos() { conectar(); }

        SqlDataAdapter da;
        public DataTable consultar2(string tabla)
        {
            string sql = "select * from " + tabla;
            da = new SqlDataAdapter(sql, conn);
            DataSet dst = new DataSet();
            da.Fill(dst, tabla);
            DataTable dt = new DataTable();
            dt = dst.Tables[tabla];
            return dt;
        }
        conexion conex = new conexion();
        //recuperar codigo Area
        public DataSet codArea(string nombreArea) 
        {
            conex.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("select area.idArea from area where nombre=@nombre",conex.conector);
            da.SelectCommand.Parameters.Add(new SqlParameter("@nombre", nombreArea));
            da.Fill(ds,"VerCodArea");
            conex.desconectar();
            return ds;
        }

        //recuperar codNivel
        public DataSet codNivel(string nombreNivel)
        {
            conex.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("select nivel.idNivel from nivel where nombreNivel=@nombre", conex.conector);
            da.SelectCommand.Parameters.Add(new SqlParameter("@nombre",nombreNivel));
            da.Fill(ds,"verCodNivel");
            conex.desconectar();
            return ds;
        }

        SqlCommand cmd = new SqlCommand();
        
        public void agregarPregunta(clases.pregunta p, PictureBox imagen)
        {
            conex.conectar();
            SqlDataAdapter da = new SqlDataAdapter();
            da.InsertCommand = new SqlCommand("insert into pregunta(respuesta,idNivel,idArea,estado,imgbd) values(@respuesta,@idNivel,@idArea,@estado,@imgdb)", conex.conector);
            // da.InsertCommand.Parameters.Add(new SqlParameter("@rut_abogado", a.rut ));
            da.InsertCommand.Parameters.Add(new SqlParameter("@respuesta", p.respuesta));
            da.InsertCommand.Parameters.Add(new SqlParameter("@idNivel", p.idNivel));
            da.InsertCommand.Parameters.Add(new SqlParameter("@idArea", p.idArea));
            da.InsertCommand.Parameters.Add(new SqlParameter("@estado", p.estado));
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            imagen.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
            da.InsertCommand.Parameters.Add(new SqlParameter("@imgdb", ms.GetBuffer()));
            da.InsertCommand.ExecuteNonQuery();
            conex.desconectar();
        }

        public DataSet pruebaDisponible()
        {
            conex.conectar();
            DataSet ds = new DataSet();
            //SqlDataAdapter da = new SqlDataAdapter("select nivel.idNivel from nivel where nombreNivel=@nombre", conex.conector);
            SqlDataAdapter da = new SqlDataAdapter("select * from prueba where estado=1", conex.conector);
            da.Fill(ds, "PruebaDisponible");
            conex.desconectar();
            return ds;
        }

        public DataSet resultados()
        {
            conex.conectar();
            DataSet ds = new DataSet();
            SqlDataAdapter da = new SqlDataAdapter("SELECT t1.descripcion,t2.rutAlumno,t3.nombre,t2.fecha,t2.nota FROM prueba AS t1 JOIN alumno_prueba AS t2 ON t1.idPrueba=t2.idPrueba JOIN alumno as t3 ON t2.rutAlumno=t3.rutAlumno", conex.conector);
            da.Fill(ds, "resultados");
            conex.desconectar();
            return ds;
        }
      

    }
}
